This disclosure relates generally to correcting problems associated with updating the basic input output system (BIOS) of a computer and, more particularly, to a method and computer for locally and remotely updating a BIOS using one update file.
When a computer (or any similar system or component) is powered on, or booted, basic input output system (BIOS) initialization code is used by the computer to test its hardware and connectivity and to load all of the necessary operating code that allows the computer to perform needed tasks. The BIOS initialization code, which is stored in memory (e.g. lash memory and/or any device that stores digital information and can store the BIOS initialization code), includes a power-on self test (POST) procedure, to ensure that all computer circuitry is functional before running the operating code. The BIOS initialization code may be accessed by a processor (e.g. central processing unit (CPU), digital signal processor (DSP), microprocessor, microcontroller, microcomputer, and/or any device that manipulates digital information based on programming instructions) when the computer is booted. The BIOS, in addition to other functions that are loaded (e.g. reading and writing data to various storage systems such as CD-ROM and DVD-ROM drives), allow the computer to perform its vast array of features. The code that gives the computer this ability is called the operating system (OS). The OS is stored in a non-volatile storage module such as a hard disk. When the computer is booted (or reset) the BIOS code is run and, after POST, the BIOS code allows access to the hard disk at an address where code is stored which permits tile loading of the OS from the hard disk. After the OS is loaded, a user may begin to access various features found the OS (e.g. a spreadsheet, etc.) or accessed through the OS (e.g. the world wide web, email, etc.).
Several situations exist in which the BIOS may have to be updated. These situations include providing new BIOS features or functionality or providing fixes to certain BIOS problems. For example, a computer may need to receive a Year 2000 (Y2K) fix to ensure it operates correctly. The Y2K fix may be placed in the BIOS initialization code. After the BIOS has been updated, the computer can be rebooted thereby enacting the Y2K fix.
In such a situation, the updating can be performed locally and/or remotely. If the updating were to be performed locally, the BIOS would be updated on a client""s local computer by executing a BIOS update program. A system administrator would most likely perform the update. The BIOS update program would replace the previous BIOS image in the computer""s flash memory with the image contained in the update program. If the updating were to be performed remotely, a system administrator would remotely update the client""s computer BIOS. When a system administrator locally updates a BIOS, a local update program is used and, when the system administrator remotely updates a BIOS, a remote update program is used.
Since separate BIOS files are used to locally and remotely update tile BIOS, problems can arise. Since each file has a separate identification number or label, the system administrator may use the wrong file (i.e. identification number) to perform a certain update causing various errors and delays. Having separate BIOS files to locally and remotely update the BIOS is costly, time consuming, and degrades the user""s experience.
The present disclosure, therefore, provides a method and computer for locally and remotely updating a BIOS using one update file that contains a local update program and a BIOS image that can be used for local or remote updates. To locally update a client""s BIOS, the system administrator can run the update file. The local update program would then write the BIOS image to the client""s computer memory thereby completing the local update. If, however, the system administrator wishes to remotely update the client""s BIOS, the update file is run using an input parameter (such as a command line switch). This action causes the local update program to create a file containing the BIOS image with a header. Using this file, a remote update program is executed which writes the BIOS image to the client""s computer memory.
A major advantage is achieved with the method and computer of the present disclosure since only one file is used by a system administrator to perform local and/or remote BIOS updates. As such, the problems discussed above are minimized allowing for a more efficient solution that increases the client""s experience.